package com.design_patterns.singleton;

/**
 * @author: 李德才
 * @description:
 * @create: 2020-08-23 16:07
 **/

/**
 * 解决线程同步,反序列化
 * 因为枚举类没有构造方法,
 * 反射需要使用无参构造方法,
 * 反序列化得到的又是同一个对象
 */
public enum EnumInstance {
     INSTANCE;
     public EnumInstance doSomeThing(){
        return this ;
     }

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            new Thread(() -> {
                System.err.println(EnumInstance.INSTANCE.doSomeThing().hashCode());
            }).start();
        }
    }
}
